V2EX  ›  英汉词典

Type Erasure

释义 Definition

类型擦除:一种编程语言/编译器实现策略——在编译后或运行时不保留(或不完全保留)泛型/参数化类型信息,把它“擦除”为较通用的类型(如 Object)或以其他方式实现,从而在运行时难以直接获取具体的类型参数。常见于 Java 的泛型(与部分语言的“类型具化 reification”相对)。

发音 Pronunciation (IPA)

/taɪp ɪˈreɪʒər/

例句 Examples

Java uses type erasure for generics, so List<String> and List<Integer> look similar at runtime.
Java 对泛型使用类型擦除,因此在运行时 List<String>List<Integer> 看起来很相似。

Because of type erasure, some generic type checks must be done at compile time rather than with runtime reflection.
由于类型擦除,一些泛型类型检查必须在编译期完成,而不能依赖运行时反射来判断。

词源 Etymology

该术语由 type(类型) + erasure(擦除/抹去) 组合而成。在编程语言语境中,“erasure”形象地指把泛型的类型参数信息在编译阶段“抹掉”,从而让生成的字节码/运行时表示更接近非泛型时代的形式(例如为了兼容旧版本平台或减少运行时负担)。

相关词 Related Words

文学/名著用例 Literary & Notable Works

  • Effective Java(Joshua Bloch)— 讨论 Java 泛型及其在“类型擦除”机制下的使用注意点。
  • Java Generics and Collections(Maurice Naftalin & Philip Wadler)— 系统讲解泛型,并解释 type erasure 对代码设计与限制的影响。
  • The Java Language Specification(Oracle)— 在规范层面描述 Java 泛型的擦除规则与类型检查。
  • Programming in Scala(Martin Odersky 等)— 讨论 JVM 相关的泛型实现与(部分)类型擦除带来的影响。
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   728 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 18ms · UTC 19:34 · PVG 03:34 · LAX 11:34 · JFK 14:34
♥ Do have faith in what you're doing.